package com.easylinkin.linkappapi.machinery.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.easylinkin.linkappapi.common.model.RequestModel;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easylinkin.linkappapi.machinery.dto.MachineryUserTypeDTO;
import com.easylinkin.linkappapi.machinery.entity.MachineryType;
import com.easylinkin.linkappapi.machinery.entity.MachineryUserType;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 闸机表 服务类
 * </p>
 *
 * @author TongJie
 * @since 2022-04-13
 */
public interface MachineryUserTypeService extends IService<MachineryUserType> {

  /**
   * 增加
   * @param machineryUserType
   */
  void insert(MachineryUserType machineryUserType);

  /**
   * 根据id编辑
   * @param machineryUserType
   */
  void updateOne(MachineryUserType machineryUserType);

  /**
   * @Description: 增加设备类别
   * @author kan yuanfeng
   * @date 2020/11/04 11:42
   */
  void insertDevices(MachineryUserTypeDTO machineryUserTypeDTO);

  /**
   * @Description: 删除人员类别（包含批量删除）
   * @author kan yuanfeng
   * @date 2020/11/04 11:42
   */
  void delBatch(Set<Integer> ids);

  /**
   * @Description: 删除设备类别
   * @author kan yuanfeng
   * @date 2020/11/04 11:42
   */
  void deleteDevices(MachineryUserType machineryUserType);

  /**
   * @Description: 根据id查询人员类别详情
   * @author kan yuanfeng
   * @date 2020/11/04 11:42
   */
  MachineryUserTypeDTO findById(Integer id);

  /**
   * @Description: 根据条件，查询
   * @author kan yuanfeng
   * @date 2020/11/04 11:42
   */
  List<MachineryUserTypeDTO> queryList(MachineryUserType machineryUserType);

  /**
   * 查询可添加的设备类型
   */
  List<MachineryType> queryTypeList(MachineryType machineryType);
}
